home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (C) 1994, Silicon Graphics, Inc.
- * All Rights Reserved.
- *
- * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
- * the contents of this file may not be disclosed to third parties, copied or
- * duplicated in any form, in whole or in part, without the prior written
- * permission of Silicon Graphics, Inc.
- *
- * RESTRICTED RIGHTS LEGEND:
- * Use, duplication or disclosure by the Government is subject to restrictions
- * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
- * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
- * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
- * rights reserved under the Copyright Laws of the United States.
- */
- ///////////////////////////////////////////////////////////////////////////
- // OkTArray.h
- //
- // Use this class for class object only.
- // OkTArray will call constructor and destructor of the elements.
- //
- // Note:
- // Current template bug doesn't allow me to call destructor explicitly.
- // To get around that problem. This class requires the element class
- // to have the following public method:
- // void destroy() { this->~Class(); }
- // Class = is your element class name.
- // And all subclasses (directly or inderectly) of OkTArray to have a
- // destructor that calls OkArray::destroy().
- ///////////////////////////////////////////////////////////////////////////
- #pragma once
- #include "OkTStructArray.h"
-
- template <class Type>
- class OkTArray : public OkTStructArray<Type> {
-
- public:
- virtual char *className() { return "OkTArray"; }
- virtual ~OkTArray() { destroy(); }
-
- protected:
-
- virtual void createElements( void*, u_int numbytes );
- virtual void destroyElements( void*, u_int numbytes );
- virtual void copyElements( void* src, void* dst, u_int numbytes );
-
- };
-